<?php
class cURL {
	var $headersForm;
	var $headersXML;
	var $user_agent;
	var $compression;
	var $cookie_file;
	var $proxy;
	function cURL() {
		$this->headersForm[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
		$this->headersForm[] = 'Connection: Keep-Alive';
		$this->headersForm[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8;';

		//$this->headersXML[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
		$this->headersXML[] = 'Connection: Keep-Alive';
		$this->headersXML[] = 'Content-Type: application/atom+xml;';

        $this->user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
		$this->compression='gzip';
		$this->proxy=HTTP_PROXY; //CHANGE PROXY IF REQUIRED
 	    $this->cookie(COOKIES_FILE);
	}
	function cookie($cookie_file) {
		$this->cookie_file=$cookie_file;
		//echo $this->cookie_file;
		if (!file_exists($this->cookie_file)) {
			fopen($this->cookie_file,'w') or $this->error('The cookie file ('.$this->cookie_file.')could not be opened. Make sure this directory has the correct permissions');	
			@fclose($this->cookie_file);
		}
	}
	function get($url,$reqType='HTML') {
		$process = curl_init($url);
		if($reqType=='XML')
           curl_setopt($process, CURLOPT_HTTPHEADER, $this->headersXML);
		else
           curl_setopt($process, CURLOPT_HTTPHEADER, $this->headersForm);
        curl_setopt($process, CURLOPT_HEADER, 0);
		curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
		curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
		curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
		curl_setopt($process,CURLOPT_ENCODING , $this->compression);
		curl_setopt($process, CURLOPT_TIMEOUT, 30);
		if ($this->proxy) curl_setopt($process, CURLOPT_PROXY, $this->proxy);
		curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
		$return = curl_exec($process);
		curl_close($process);
		return $return;
	}
	function post($url,$data,$reqType='HTML') {
		$process = curl_init($url);
		if($reqType=='XML')
           curl_setopt($process, CURLOPT_HTTPHEADER, $this->headersXML);
		else
           curl_setopt($process, CURLOPT_HTTPHEADER, $this->headersForm);
		curl_setopt($process, CURLOPT_HEADER, 0);
		curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
		curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
		curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
		curl_setopt($process, CURLOPT_ENCODING , $this->compression);
		curl_setopt($process, CURLOPT_TIMEOUT, 30);
		if ($this->proxy) curl_setopt($process, CURLOPT_PROXY, $this->proxy);
		curl_setopt($process, CURLOPT_POSTFIELDS, $data);
		curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($process, CURLOPT_POST, 1);
		$return = curl_exec($process);
		curl_close($process);
		return $return;
	}
	function delete($url) {
		$process = curl_init($url);
        curl_setopt($process, CURLOPT_HTTPHEADER, $this->headersForm);
		curl_setopt($process, CURLOPT_HEADER, 0);
		curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
		curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
		curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
		curl_setopt($process, CURLOPT_ENCODING , $this->compression);
		curl_setopt($process, CURLOPT_TIMEOUT, 30);
		if ($this->proxy) curl_setopt($process, CURLOPT_PROXY, $this->proxy);
		curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($process, CURLOPT_CUSTOMREQUEST, "DELETE");
		$return = curl_exec($process);
		curl_close($process);
		return $return;
	}
    function addHeader($header){
        $this->headersForm[] = $header;  
        $this->headersXML[] = $header;  
    }
	function error($error) {
		echo "<center><div style='width:500px;border: 3px solid #FFEEFF; padding: 3px; background-color: #FFDDFF;font-family: verdana; font-size: 10px'><b>cURL Error</b><br>$error</div></center>";
		die;
	}
	function contentType(){

	}
}
?>